/* Edita autor */
package servlets;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import beans.Autor;
import dbclass.AutorDAO;
import dbclass.AutorJDBC;

/**
 * Servlet implementation class AutorEdit
 */
public class AutoresEdit extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public AutoresEdit() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession(true);
		//Verifica login
		if(session.getValue("autor_login") == null) {
			response.sendRedirect("Home?msg_erro=Acesso Negado");  return;
		} 
		
		
		AutorDAO autorDAO = new AutorJDBC(); 
		int id = Integer.parseInt(request.getParameter("id"));
		try {
			Autor autor = autorDAO.findById(id);
			session.setAttribute("autor", autor);    
			String url="/AutorEdit.jsp";   
			ServletContext sc = getServletContext();
			RequestDispatcher rd = sc.getRequestDispatcher(url);
			rd.forward(request, response);    
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		HttpSession session = request.getSession(true);
		String url = null;
		
		AutorDAO autorDAO = new AutorJDBC(); 
		
		int id = Integer.parseInt(request.getParameter("id"));	 
		String nome = request.getParameter("nome");  
		String login = request.getParameter("login");  
		String senha = request.getParameter("senha");  
		
		Autor autor = new Autor(id, login, senha, nome); 
		
		try { 
				 
			autorDAO.update(autor); 
			url="Autores?msg_sucesso=Autor editado com sucesso";   
 
			response.sendRedirect(url); 
		} catch (ClassNotFoundException e) {   
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	
	}

}
